package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 *
 * @author 魏荣杰
 * @date 2020/9/29 14:21
 * @since
 * @version
 */
@Setter
@Getter
@ToString
public class PaasFormOriginalDataInitDTO extends BaseDTO {
    private static final long serialVersionUID = -5821114201137068596L;
    /**
     * 验证码
     */
    @NotEmpty(message = "{dto.msg.paasFormDataEsInit.xbbCode.NotEmpty}")
    private String xbbCode;
    /**
     * saas业务类型,当saasMark为saas的时候不为空
     * @see  com.xbongbong.saas.enums.XbbRefTypeEnum
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer businessType;
    /**
     * 当改值为空，则同步所有数据，该值不为空，则同步更新时间大于该值的数据
     */
    private Long updateTimeGte;

    /**
     * 通用时间大于
     */
    private Long updateTimeStart;

    /**
     * 指定执行的公司
     */
    private String oneCorpid;

    /**
     * 是否按单个公司处理，0全部，1单公司
     */
    @Max(value = 1, message = "byCorpid必须为0，1")
    @Min(value = 0, message = "byCorpid必须为0，1")
    @NotNull(message = "byCorpid不可为null")
    private Integer byCorpid;

    private List<String> exceptCorpids;

    private Integer onlyPaas;

    private String startCorpid;
}
